﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AvaProvi
{
    class clsConstruccion_CD
    {
        private dsConstruccion dsConstruccion;
        private dsConstruccionTableAdapters.ConstruccionTableAdapter TAConstruccion;

        public clsConstruccion_CD()
        {
            this.dsConstruccion = new dsConstruccion();
            this.dsConstruccion.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            this.dsConstruccion.DataSetName = "dsConstruccion";

            this.TAConstruccion = new AvaProvi.dsConstruccionTableAdapters.ConstruccionTableAdapter();
            this.TAConstruccion.ClearBeforeFill = true;
            //falta la cadena de conexion
        }

        public dsConstruccion.ConstruccionRow RecuperaCosntruccion(int IDAvaluo)
        {
            TAConstruccion.RecuperaConstruccion(this.dsConstruccion.Construccion, IDAvaluo);
            foreach (dsConstruccion.ConstruccionRow filaConstruccion in this.dsConstruccion.Construccion)
            {
                return filaConstruccion;
            }
            return null;
        }

        public bool CreaConstruccion(clsConstruccion_CRN objConstruccion)
        {
            int RegistrosAfectados = TAConstruccion.NuevaConstruccion(
                objConstruccion.DescAComunes,
                objConstruccion.Terreno.Inmueble.Avaluo.IdAvaluo,
                objConstruccion.DescAPrivativas,
                objConstruccion.AnioTerminaObra,
                objConstruccion.IndivisoConstruccion,
                objConstruccion.ConstTerminada,
                objConstruccion.AComunesTerminadas,
                objConstruccion.GradoTConst,
                objConstruccion.GradoTAComunes,
                objConstruccion.SupAComunes,
                objConstruccion.SupAPrivativas);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ModificaConstruccion(clsConstruccion_CRN objConstruccion)
        {
            int RegistrosAfectados = TAConstruccion.ActualizaConstruccion(
                objConstruccion.DescAComunes,
                objConstruccion.DescAPrivativas,
                objConstruccion.AnioTerminaObra,
                objConstruccion.IndivisoConstruccion,
                objConstruccion.ConstTerminada,
                objConstruccion.AComunesTerminadas,
                objConstruccion.GradoTConst,
                objConstruccion.GradoTAComunes,
                objConstruccion.SupAComunes,
                objConstruccion.SupAPrivativas,
                objConstruccion.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaConstruccion(clsConstruccion_CRN objConstruccion)
        {
            int RegistrosAfectados = TAConstruccion.EliminaConstruccion(                
                objConstruccion.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

    }
}
